草庐IT

c++ - ifstream::is_open vs ifstream::fail?

全部标签

c - 了解用户何时按下向上/向下箭头

此代码打印出用户在按下输入按钮后键入的内容。main(){HANDLEstdinInput=0;DWORDnumEvents=0;DWORDnumEventsRead=0;DWORDnumReceivedRecords=0;DWORDfdwSaveOldMode;DWORDfdwMode;chardataBuffer[100];intbufferLen=0;stdinInput=GetStdHandle(STD_INPUT_HANDLE);if(stdinInput==INVALID_HANDLE_VALUE)perror("GetStdHandle");if(!GetConsoleM

在 Windows (C/C++) 上检查应用程序二进制文件的位数

是否可以在不运行/运行之前检查二进制文件(EXE)的位数?这可以在Linux上轻松完成,但我不熟悉Windows二进制格式。谢谢。 最佳答案 由于您将此问题标记为C,因此有一个Win32API函数GetBinaryType.不过,它不适用于DLL。if(GetBinaryType(argv[i],&bintype)){switch(bintype){caseSCS_32BIT_BINARY:typename=TEXT("Windows32Bit");break;caseSCS_64BIT_BINARY:typename=TEXT("

windows - 微星 : An Application is running during silent update

我有一个安装为MSI包的应用程序,我有下一个版本的应用程序,我计划通过特殊程序以静默模式安装。当应用程序运行时,我发现一个问题:并非所有应用程序组件都已安装立即,其中一些只有在重新启动后才会真正准备就绪。我得到了不稳定的应用程序。我可以检查-应用程序是否正在运行并等待它关闭,但我无法检查用户在静默安装期间单击快捷方式时的情况。我该如何避免这种情况?我可以在安装过程中锁定应用程序吗? 最佳答案 我建议实现RestartManager支持。Vista或更高版本将尝试通过重启管理器关闭您的应用程序,您可以决定如何在您的应用程序中处理它(提

c++ - 如何知道所使用的微软 C runtime 的版本?

我有一个依赖于MSVCR90.dll的程序,我将它与主要可执行文件一起提供的库包括:ProgramFolder\Main.exeProgramFolder\MSVCR90.dll我想知道是否有新的更新可用(例如修复安全问题),我提供的更新是否优先于System32或SxS.有没有办法以编程方式知道正在使用哪个版本的C运行时? 最佳答案 您可以查看executablesimportheader查找它引用了哪个版本的C运行时。将其从system32目录中删除无济于事,反而会造成崩溃。 关于c

两个线程能否同时读取同一个const内存块

内存块在程序开始时被初始化和设置并且没有改变(CONST)。例如:静态常量inta=10;如果它依赖于环境/架构,那么这些设置是否安全:英特尔/AMDWin/Linux32/64位每个核心的线程或一个核心的所有线程。 最佳答案 对于所有架构读取const都是安全的 关于两个线程能否同时读取同一个const内存块,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12337926/

c++ - 通过批处理文件在多个文件上添加标题

我有一个.c文件列表,我想在其中添加标题。这些文件位于一个文件夹中,批处理文件应该为该文件夹中的每个.c文件放置一个标题。我很想知道,我们如何才能做到这一点。我想插入的标题示例如下://///////////////////////////////////////////////////////////////////////////Name:TomVolvoRiddleRollNo:56/BS/352////////////////////////////////////////////////////////////////////////////谢谢,

c++ - 如何以编程方式确定网卡是虚拟网卡?

在HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/WindowsNT/CurrentVersion/NetworkCards/下,我可以枚举我机器上安装的每个网卡。但是有些应用,尤其是虚拟机,会安装一些虚拟网卡。我的问题是:如何以编程方式确定网卡是虚拟网卡? 最佳答案 取决于虚拟机。如果它使用例如QEMU作为硬件仿真,将很难确定它不是“真实的东西”——充其量,你可能会注意到它比真实的东西应该更快,但你很难被插入知道这一点。当然,虚拟机也可能在虚拟机中安装了真实的网卡。所以你不能真正确定它是不是真实的,即使

使用 cygwin 在 Windows 上编译 libjpeg?

在Windows机器上编译libjpeg的最佳方法是什么?我应该使用MicrosoftVisualStudio还是可以使用其他软件(如Cygwin)?注意:当我使用Cygwin并将makefile.vc复制到Makefile时,将jconfig.vc复制到jconfig.h并运行此示例代码:http://www.cim.mcgill.ca/~junaed/code/libjpeg_sample.tar.gz然后编译器产生以下错误:$gccmain.cC:\cygwin\tmp\ccwChyeY.o:main.c:(.text+0x5a):undefinedreferenceto`jpe

c - HMAC-MD5 与 CryptoApi

我已经采用了SHA1HMACexample来自微软的网站并根据这个stack-overflowpost进行了修改以及Internet上的其他一些建议,但是我无法生成正确的值。基本上我只是将SHA1替换为MD5CALG_SHA1->CALG_MD5。有人有工作示例吗?密码的CryptDeriveKey()使用什么算法(RC2或RC4)重要吗?谢谢!编辑:找到工作代码here 最佳答案 您的值与示例不同,因为您使用了不同的键:可以使用Linux获取示例值openssldgst-md5-hmackey命令。如果该命令的长度小于MD5哈希b

windows - 将 prn 文件发送到打印机 : Printing is extremely slow 时出现问题

我正在通过php为打印机生成prn文件并将它们发送到打印机进行打印COPYfilename.prn/B\\ComputerName\NetworkPrinterName仅供引用,此命令正在手动执行。当我这样做时,打印速度比直接通过应用程序打印要慢得多。我主要关心Zebra标签打印机的这个问题。当我选择打印20份标签时,软件会在5-10秒内完成打印当我使用上述命令通过prn文件打印它时。每个标签实际上需要1秒。顺便说一下,我使用php生成的prn文件和该软件100%相似。实际上,我在php中为所有条形码使用了一个通用模板,这些条形码取self从软件本身生成的一个标签prn文件,并且只是更